package com.moodbox.server.mood.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.moodbox.server.mood.dto.MoodRecordDTO;
import com.moodbox.server.mood.entity.MoodRecord;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 心情记录服务接口
 */
public interface MoodRecordService extends IService<MoodRecord> {

    /**
     * 创建心情记录
     * @param userId 用户ID
     * @param moodRecordDTO 心情记录数据传输对象
     * @return 创建的心情记录
     */
    MoodRecord createMoodRecord(String userId, MoodRecordDTO moodRecordDTO);

    /**
     * 更新心情记录
     * @param userId 用户ID
     * @param moodRecordDTO 心情记录数据传输对象
     * @return 更新后的心情记录
     */
    MoodRecord updateMoodRecord(String userId, MoodRecordDTO moodRecordDTO);

    /**
     * 获取用户特定日期的心情记录
     * @param userId 用户ID
     * @param recordDate 记录日期
     * @return 心情记录
     */
    MoodRecord getMoodRecordByDate(String userId, LocalDateTime recordDate);

    /**
     * 获取用户的心情记录列表
     * @param userId 用户ID
     * @param startDate 开始日期
     * @param endDate 结束日期
     * @return 心情记录列表
     */
    List<MoodRecord> listMoodRecords(String userId, LocalDateTime startDate, LocalDateTime endDate);

    /**
     * 删除心情记录
     * @param userId 用户ID
     * @param recordId 记录ID
     * @return 是否删除成功
     */
    boolean deleteMoodRecord(String userId, String recordId);
} 